home *** CD-ROM | disk | FTP | other *** search
/ Info-Mac 4 / Info_Mac IV CD-ROM (Pacific HiTech Inc.)(August 1994).iso / Science / RLaB / toolbox / window.r < prev   
Text File  |  1994-04-25  |  1KB  |  45 lines

  1. //---------------------------------------------------------------------------
  2. //  window.r
  3.  
  4. //  Syntax:    window ( N , wt )
  5.  
  6. //  Description:
  7.  
  8. //  Window generates a window function.
  9. //
  10. //  N = length of desired window
  11. //  wt = window type desired
  12. //       "rect" = rectangular      "tria" = triangular (Bartlett)
  13. //       "hann" = Hanning          "hamm"  = Hamming
  14. //       "blac" = Blackman
  15.  
  16. //  Window returns a row vector containing samples of the desired
  17. //  window.
  18. //---------------------------------------------------------------------------
  19.  
  20. window = function ( N, wt )
  21. {
  22.   local (m, nn, pn, w)
  23.  
  24.   nn = N-1;
  25.   pn = 2*pi*(0:nn)/nn;
  26.   if (wt == "rect")
  27.   {
  28.     w = ones (1, N);
  29.   else if (wt == "tria") {
  30.     m = nn/2;
  31.     w = (0:m)/m;
  32.     w = [w, w[ceil(m):1:-1]];
  33.   else if (wt == "hann") {
  34.     w = 0.5*(1 - cos (pn));
  35.   else if (wt == "hamm") {
  36.     w = .54 - .46*cos (pn);
  37.   else if (wt == "blac") {
  38.     w = .42 -.5*cos (pn) + .08*cos (2*pn);
  39.   else
  40.     disp("Incorrect Window type requested");
  41.   }}}}}
  42.  
  43.   return w';
  44. };
  45.